package com.cn.serverline.lineicp.productionLine.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.sql.Timestamp;

/**
 * 交付计划详情排序规则
 *
 * @author 郭明然
 * @since 2024-08-22
 */
@TableName("PLAN_DETAILS_COLLATION")
@ApiModel(value = "DetailsCollation对象", description = "交付计划详情排序规则")
@Data
@EqualsAndHashCode
public class DetailsCollation implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 是否选中
     */
    @ApiModelProperty("是否选中")
    @TableField("SELECTED")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long selected;

    /**
     * 排序优先级
     */
    @ApiModelProperty("排序优先级")
    @TableField("ORDER_PRIORITY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long orderPriority;

    /**
     * 排序规则名称简写
     */
    @ApiModelProperty("排序规则名称简写")
    @TableField("SIMPLE_NAME")
    private String simpleName;

    /**
     * 排序规则名称
     */
    @ApiModelProperty("排序规则名称")
    @TableField("RULE_NAME")
    private String ruleName;

    /**
     * 字段名
     */
    @ApiModelProperty("字段名")
    @TableField("FIELD_NAME")
    private String fieldName;

    /**
     * 交付计划ID
     */
    @ApiModelProperty("交付计划ID")
    @TableField("DELIVERY_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long deliveryId;

    /**
     * 月份
     */
    @ApiModelProperty("月份")
    @TableField("MONTH")
    private Integer month;

    /**
     * 乐观锁
     */
    @ApiModelProperty("乐观锁")
    @TableField("VERSION")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long version;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @TableField("CREATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("CREATE_TIME")
    private Timestamp createTime;

    /**
     * 最后修改人
     */
    @ApiModelProperty("最后修改人")
    @TableField("UPDATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long updateUser;

    /**
     * 最后修改时间
     */
    @ApiModelProperty("最后修改时间")
    @TableField("UPDATE_TIME")
    private Timestamp updateTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;
}
